Первый взгляд на микросервисы

  • Микросервисы используют концепцию скрытия информации от внешних пользователей. Это означает скрытие как можно большего количества информации внутри компонента и как можно меньшее ее раскрытие через интерфейсы.

Ключевые понятия микросервисов.

  1. Независимое развертывание. Чтобы иметь возможность независмого развертывания, но нужно убедиться, что наши микросервисы слабо связаны.
  2. Насколько большим должен быть микросервис? Микросервис должен быть размером с мою голову, то есть, он нормальных размеров, если помещается в голову разработчиков.
  3. Приветствуется вертикальная архитектура, когда команды занимаются конкретными функциональностями, и микросервисы представляют эти функциональности. В такой архитектуре, изменения в функциональности поотребуют изменений только в одном сервисе, в отличии от базированой, горизонтальной, где есть сервис фронт бэк и бд

Преимущества монолитов

  • Проще развертывать, что упростит рабочие процессы
  • Меньше повторений кода
  • Проще собирать логи
  • Безопасность, тк меньше передачи по сети
  • Тестирование проще

Преимущества микросервисов

  1. Возможна технологичекая неоднородность. Например использование разных языков
  2. Надежность
  3. Масштабирование
  4. Много разрабов могут писать код и не мешать друг другу
  5. Максимальная отдача от облачных сервисов
  6. Можно тестировать новые подходы только на части системы

Важно!

Для микросервисов очень рекомендуется использовать разные бд, для достижения пораздельного развертывания и инкапсуляции внутренней логики.